/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.swirrel.installer;

import java.awt.Component;
import java.lang.reflect.Field;
import java.util.List;
import java.util.Map;
import org.swirrel.util.MethodCall;
import org.swirrel.util.Tuple;

/**
 *
 * @author Gronau
 */
public interface SwirrelListenerInstaller {
   boolean hasMatchingAnnotation(Field field);
   void validateType(Class<?> fieldType);
   boolean isListenerAlreadySet(Object obj);
   List<Tuple<String, Boolean>> getMethodNames(Field field);
   void registerListener(Field field, Component comp, List<MethodCall> methodCalls)
           throws IllegalAccessException;
}
